#!/bin/bash

# 打印的帮助信息
help_str="参数说明：
  -h, --help:       打印帮助信息
  -k, --key 关键字: 指定要匹配的字符串，用于确认端口是否正常，默认full
  -s, --step:       一步一步执行脚本，每一步按y继续，按c则一直运行下去
"

# 基础命令
cmd_str="ansible-playbook -i /opt/SdsAnsible/inventories/sdh_switch/hosts"

# 测试命令行参数，如果出错直接退出
getopt_cmd=$(getopt -o hk:s --long help,key:,step -n $0 -- "$@")
if [ $? -ne 0 ]
then
    exit
fi

#set -- "$getopt_cmd"
eval set -- "$getopt_cmd"

while [ -n "$1" ]
do
    case "$1" in
        -h|--help)
            echo -e "$help_str"
            exit
            ;;
        -k|--key)
            cmd_str=${cmd_str}" -e 'check_key=\"$2\"'"
            shift
            ;;
        -s|--step)
            cmd_str=${cmd_str}" --step"
            ;;
        --)
            shift
            break ;;
    esac
    shift
done

# 在命令最后拼接上 playbook 的路径
cmd_str=${cmd_str}" /opt/SdsAnsible/sdh_switch_check.yml"
# 打印要执行的命令
echo $cmd_str
# 通过eval执行一个字符串命令
eval $cmd_str
